/*
 * 文 件 名:  Test_1.java
 * 版    权:   深圳埃思欧纳信息咨询有限公司版权所有. YYYY-YYYY,  All rights reserved
 * 描    述:   <描述>
 * 修 改 人:  honny.huang
 * 修改时间: 2011-5-9
 * 跟踪单号:  <跟踪单号>
 * 修改单号:  <修改单号>
 * 修改内容:  <修改内容>
 */
package com.annotation;
import java.lang.reflect.Method;   
/**
 * <一句话功能简述> <功能详细描述>
 *
 * @author honny.huang
 * @version [版本号, 2011-5-9]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
public class Test_1 {      
    /*    
     * 被注解的三个方法    ； 注解没有定义成员，这样注解就成了一个标记符号了。
     */     
    @Test(id = 1, description = "hello method_1")       
     public   void  method_1() {       
    }       
      
     @Test (id =  2 )       
     public   void  method_2() {       
    }       
      
     @Test (id =  3 , description =  "last method" )       
     public   void  method_3() {       
    }       
      
     /*     
     * 解析注解，将Test_1类 所有被注解方法 的信息打印出来     
     */       
     public   static   void  main(String[] args) {       
        Method[] methods = Test_1. class .getDeclaredMethods();       
         for  (Method method : methods) {       
             /*     
             * 判断方法中是否有指定注解类型的注解     
             */       
             boolean  hasAnnotation = method.isAnnotationPresent(Test. class );       
             if  (hasAnnotation) {       
                 /*     
                 * 根据注解类型返回方法的指定类型注解     
                 */       
                Test annotation = method.getAnnotation(Test. class );       
                System.out.println( "Test( method = "  + method.getName()       
                        +  " , id = "  + annotation.id() +  " , description = "       
                        + annotation.description() +  " )" );       
            }       
        }       
    }       
      
}   
